Micron Document
Aleph Git

Node / reticulum / sideband / files / docs / example_plugins / telemetry.py

Displaying Raw • Download

docs/example_plugins/telemetry.py HEAD (8b8a5035) Text, 3.11 KB

T8b949e# This is a basic telemetry plugin
T8b949e# example that you can build upon to
T8b949e# implement your own telemetry plugins.

Tff7b72import T7ee787RNS

Tff7b72class T56d364BasicTelemetryPluginTb4b4b4(Te6edf3SidebandTelemetryPluginTb4b4b4)Tb4b4b4:
Te6edf3plugin_name Tff7b72= Ta5d6ff"Ta5d6fftelemetry_exampleTa5d6ff"

Tff7b72def Td2a8ffstartTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
T8b949e# Do any initialisation work here
Te6edf3RNSTff7b72.Td2a8fflogTb4b4b4(Ta5d6ff"Ta5d6ffBasic telemetry plugin example starting...Ta5d6ff"Tb4b4b4)

T8b949e# And finally call start on superclass
Tffa657superTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffstartTb4b4b4(Tb4b4b4)

Tff7b72def Td2a8ffstopTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
T8b949e# Do any teardown work here
Tff7b72pass

T8b949e# And finally call stop on superclass
Tffa657superTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffstopTb4b4b4(Tb4b4b4)

Tff7b72def Td2a8ffupdate_telemetryTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3telemeterTb4b4b4)Tb4b4b4:
Tff7b72if Te6edf3telemeter Tff7b72!= Tff7b72NoneTb4b4b4:
T8b949e# Create power consumption sensors
Te6edf3telemeterTff7b72.Td2a8ffsynthesizeTb4b4b4(Ta5d6ff"Ta5d6ffpower_consumptionTa5d6ff"Tb4b4b4)
Te6edf3telemeterTff7b72.Td2a8ffsensorsTb4b4b4[Ta5d6ff"Ta5d6ffpower_consumptionTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffupdate_consumerTb4b4b4(T79c0ff2163.15Tb4b4b4, Te6edf3type_labelTff7b72=Ta5d6ff"Ta5d6ffHeater consumptionTa5d6ff"Tb4b4b4)
Te6edf3telemeterTff7b72.Td2a8ffsensorsTb4b4b4[Ta5d6ff"Ta5d6ffpower_consumptionTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffupdate_consumerTb4b4b4(T79c0ff12.7Tff7b72/T79c0ff1e6Tb4b4b4, Te6edf3type_labelTff7b72=Ta5d6ff"Ta5d6ffReceiver consumptionTa5d6ff"Tb4b4b4)
Te6edf3telemeterTff7b72.Td2a8ffsensorsTb4b4b4[Ta5d6ff"Ta5d6ffpower_consumptionTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffupdate_consumerTb4b4b4(T79c0ff0.055Tb4b4b4, Te6edf3type_labelTff7b72=Ta5d6ff"Ta5d6ffLED consumptionTa5d6ff"Tb4b4b4, Te6edf3custom_iconTff7b72=Ta5d6ff"Ta5d6ffled-onTa5d6ff"Tb4b4b4)
Te6edf3telemeterTff7b72.Td2a8ffsensorsTb4b4b4[Ta5d6ff"Ta5d6ffpower_consumptionTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffupdate_consumerTb4b4b4(T79c0ff982.22Tff7b72*T79c0ff1e9Tb4b4b4, Te6edf3type_labelTff7b72=Ta5d6ff"Ta5d6ffSmelter consumptionTa5d6ff"Tb4b4b4)

T8b949e# Create power production sensor
Te6edf3telemeterTff7b72.Td2a8ffsynthesizeTb4b4b4(Ta5d6ff"Ta5d6ffpower_productionTa5d6ff"Tb4b4b4)
Te6edf3telemeterTff7b72.Td2a8ffsensorsTb4b4b4[Ta5d6ff"Ta5d6ffpower_productionTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffupdate_producerTb4b4b4(T79c0ff5732.15Tb4b4b4, Te6edf3type_labelTff7b72=Ta5d6ff"Ta5d6ffSolar productionTa5d6ff"Tb4b4b4, Te6edf3custom_iconTff7b72=Ta5d6ff"Ta5d6ffsolar-power-variantTa5d6ff"Tb4b4b4)

T8b949e# Create storage sensor
Te6edf3telemeterTff7b72.Td2a8ffsynthesizeTb4b4b4(Ta5d6ff"Ta5d6ffnvmTa5d6ff"Tb4b4b4)
Te6edf3telemeterTff7b72.Td2a8ffsensorsTb4b4b4[Ta5d6ff"Ta5d6ffnvmTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffupdate_entryTb4b4b4(Te6edf3capacityTff7b72=T79c0ff256e9Tb4b4b4, Te6edf3usedTff7b72=T79c0ff38.48e9Tb4b4b4, Te6edf3type_labelTff7b72=Ta5d6ff"Ta5d6ffSSDTa5d6ff"Tb4b4b4)

T8b949e# Create RAM sensors
Te6edf3telemeterTff7b72.Td2a8ffsynthesizeTb4b4b4(Ta5d6ff"Ta5d6fframTa5d6ff"Tb4b4b4)
Te6edf3telemeterTff7b72.Td2a8ffsensorsTb4b4b4[Ta5d6ff"Ta5d6fframTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffupdate_entryTb4b4b4(Te6edf3capacityTff7b72=T79c0ff8e9Tb4b4b4, Te6edf3usedTff7b72=T79c0ff3.48e9Tb4b4b4, Te6edf3type_labelTff7b72=Ta5d6ff"Ta5d6ffRAMTa5d6ff"Tb4b4b4)
Te6edf3telemeterTff7b72.Td2a8ffsensorsTb4b4b4[Ta5d6ff"Ta5d6fframTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffupdate_entryTb4b4b4(Te6edf3capacityTff7b72=T79c0ff16e9Tb4b4b4, Te6edf3usedTff7b72=T79c0ff0.72e9Tb4b4b4, Te6edf3type_labelTff7b72=Ta5d6ff"Ta5d6ffSwapTa5d6ff"Tb4b4b4)

T8b949e# Create CPU sensor
Te6edf3telemeterTff7b72.Td2a8ffsynthesizeTb4b4b4(Ta5d6ff"Ta5d6ffprocessorTa5d6ff"Tb4b4b4)
Te6edf3telemeterTff7b72.Td2a8ffsensorsTb4b4b4[Ta5d6ff"Ta5d6ffprocessorTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffupdate_entryTb4b4b4(Te6edf3current_loadTff7b72=T79c0ff0.42Tb4b4b4, Te6edf3clockTff7b72=T79c0ff2.45e9Tb4b4b4, Te6edf3load_avgsTff7b72=Tb4b4b4[T79c0ff0.27Tb4b4b4, T79c0ff0.43Tb4b4b4, T79c0ff0.49Tb4b4b4]Tb4b4b4, Te6edf3type_labelTff7b72=Ta5d6ff"Ta5d6ffCPUTa5d6ff"Tb4b4b4)

T8b949e# Create custom sensor
Te6edf3telemeterTff7b72.Td2a8ffsynthesizeTb4b4b4(Ta5d6ff"Ta5d6ffcustomTa5d6ff"Tb4b4b4)
Te6edf3telemeterTff7b72.Td2a8ffsensorsTb4b4b4[Ta5d6ff"Ta5d6ffcustomTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffupdate_entryTb4b4b4(Ta5d6ff"Ta5d6ff311 secondsTa5d6ff"Tb4b4b4, Te6edf3type_labelTff7b72=Ta5d6ff"Ta5d6ffSpecific impulse isTa5d6ff"Tb4b4b4, Te6edf3custom_iconTff7b72=Ta5d6ff"Ta5d6ffrocket-launchTa5d6ff"Tb4b4b4)
Te6edf3telemeterTff7b72.Td2a8ffsensorsTb4b4b4[Ta5d6ff"Ta5d6ffcustomTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffupdate_entryTb4b4b4(Ta5d6ff"Ta5d6ffa lieTa5d6ff"Tb4b4b4, Te6edf3type_labelTff7b72=Ta5d6ff"Ta5d6ffThe cake isTa5d6ff"Tb4b4b4, Te6edf3custom_iconTff7b72=Ta5d6ff"Ta5d6ffcake-variantTa5d6ff"Tb4b4b4)

T8b949e# Create tank sensors
Te6edf3telemeterTff7b72.Td2a8ffsynthesizeTb4b4b4(Ta5d6ff"Ta5d6fftankTa5d6ff"Tb4b4b4)
Te6edf3telemeterTff7b72.Td2a8ffsensorsTb4b4b4[Ta5d6ff"Ta5d6fftankTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffupdate_entryTb4b4b4(Te6edf3capacityTff7b72=T79c0ff1500Tb4b4b4, Te6edf3levelTff7b72=T79c0ff728Tb4b4b4, Te6edf3type_labelTff7b72=Ta5d6ff"Ta5d6ffFresh waterTa5d6ff"Tb4b4b4, Te6edf3custom_iconTff7b72=Ta5d6ff"Ta5d6ffcup-waterTa5d6ff"Tb4b4b4)
Te6edf3telemeterTff7b72.Td2a8ffsensorsTb4b4b4[Ta5d6ff"Ta5d6fftankTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffupdate_entryTb4b4b4(Te6edf3capacityTff7b72=T79c0ff2000Tb4b4b4, Te6edf3levelTff7b72=T79c0ff122Tb4b4b4, Te6edf3unitTff7b72=Ta5d6ff"Ta5d6ffLTa5d6ff"Tb4b4b4, Te6edf3type_labelTff7b72=Ta5d6ff"Ta5d6ffWaste tankTa5d6ff"Tb4b4b4)

T8b949e# Create fuel sensor
Te6edf3telemeterTff7b72.Td2a8ffsynthesizeTb4b4b4(Ta5d6ff"Ta5d6fffuelTa5d6ff"Tb4b4b4)
Te6edf3telemeterTff7b72.Td2a8ffsensorsTb4b4b4[Ta5d6ff"Ta5d6fffuelTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffupdate_entryTb4b4b4(Te6edf3capacityTff7b72=T79c0ff75Tb4b4b4, Te6edf3levelTff7b72=T79c0ff61Tb4b4b4, Te6edf3type_labelTff7b72=Ta5d6ff"Ta5d6ffMainTa5d6ff"Tb4b4b4)
Te6edf3telemeterTff7b72.Td2a8ffsensorsTb4b4b4[Ta5d6ff"Ta5d6fffuelTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffupdate_entryTb4b4b4(Te6edf3capacityTff7b72=T79c0ff15Tb4b4b4, Te6edf3levelTff7b72=T79c0ff15Tb4b4b4, Te6edf3type_labelTff7b72=Ta5d6ff"Ta5d6ffReserveTa5d6ff"Tb4b4b4)

T8b949e# Finally, tell Sideband what class in this
T8b949e# file is the actual plugin class.
Te6edf3plugin_class Tff7b72= Te6edf3BasicTelemetryPlugin

Served by rngit 1.4.2 - Generated in 0.03s